1100 |
How can I advance to the next line, once the user presses the ENTER key
// KeyDown event - Occurs when the user presses a key while an object has the focus. procedure TForm1.Grid1KeyDown(ASender: TObject; var KeyCode : Smallint;Shift : Smallint); begin with Grid1 do begin OutputDebugString( 'KeyCode Before:' ); OutputDebugString( KeyCode ); KeyCode := FormatABC('value = 13 ? 40 : value',OleVariant(KeyCode),Null,Null); OutputDebugString( 'KeyCode After:' ); OutputDebugString( KeyCode ); end end; with Grid1 do begin BeginUpdate(); with Columns do begin with (IUnknown(Add('A')) as EXGRIDLib_TLB.Column).Editor do begin Appearance := EXGRIDLib_TLB.EtchedApp; EditType := EXGRIDLib_TLB.EditType; end; with (IUnknown(Add('B')) as EXGRIDLib_TLB.Column).Editor do begin Appearance := EXGRIDLib_TLB.EtchedApp; EditType := EXGRIDLib_TLB.EditType; end; end; with Items do begin h0 := AddItem('Item A.1'); CellValue[OleVariant(h0),OleVariant(1)] := 'Item B.1'; h0 := AddItem('Item A.2'); CellValue[OleVariant(h0),OleVariant(1)] := 'Item B.2'; end; EndUpdate(); end |
1099 |
I am using AddNew to add new records, but I can not see them into the control
// ButtonClick event - Occurs when user clicks on the cell's button. procedure TForm1.Grid1ButtonClick(ASender: TObject; Item : HITEM;ColIndex : Integer;Key : OleVariant); begin with Grid1 do begin with (IUnknown(DataSource) as ADODB_TLB.Recordset) do begin AddNew(Null,Null); Fields.Item['A'].Value := 'new A'; Fields.Item['B'].Value := 'new B'; Update(Null,Null); end; end end; with Grid1 do begin BeginUpdate(); HeaderAppearance := EXGRIDLib_TLB.Etched; rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset); with rs do begin Fields.Append('A',8,Null,Null,Null); Fields.Append('B',8,Null,Null,Null); Open(Null,Null,Null,Null,Null); AddNew(Null,Null); Fields.Item['A'].Value := 'Item A.1'; Fields.Item['B'].Value := 'Item B.1'; Update(Null,Null); AddNew(Null,Null); Fields.Item['A'].Value := 'Item A.2'; Fields.Item['B'].Value := 'Item B.2'; Update(Null,Null); end; DataSource := (IUnknown(rs) as ADODB_TLB.Recordset); with Items do begin LockedItemCount[EXGRIDLib_TLB.exTop] := 1; h := LockedItem[EXGRIDLib_TLB.exTop,0]; ItemDivider[h] := 0; CellHasButton[OleVariant(h),OleVariant(0)] := True; CellValue[OleVariant(h),OleVariant(0)] := 'AddNew'; CellHAlignment[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.CenterAlignment; end; DetectAddNew := True; DetectDelete := True; EndUpdate(); end |
1098 |
How can I create a new ADO recordset
|
1097 |
Do do I get the DAO version I have installed
with Grid1 do begin OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.35'))) as DAO_TLB.PrivDBEngine).Version ); OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.36'))) as DAO_TLB.PrivDBEngine).Version ); OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine).Version ); end |
1096 |
How do I get a list of interfaces the object implemenets
|
1095 |
Do do I get the ADO version I have installed
|
1094 |
DAO, ACCDB, 120
with Grid1 do begin BeginUpdate(); ColumnAutoResize := False; with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine) do begin rs := (IUnknown(OpenDatabase('C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null)) as DAO_TLB.Recordset2); end; DataSource := (IUnknown(rs) as DAO_TLB.Recordset2); EndUpdate(); end |
1093 |
DAO, MDB, 120
with Grid1 do begin BeginUpdate(); ColumnAutoResize := False; with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine) do begin rs := (IUnknown(OpenDatabase('C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null)) as DAO_TLB.Recordset2); end; DataSource := (IUnknown(rs) as DAO_TLB.Recordset2); EndUpdate(); end |
1092 |
DAO, MDB
with Grid1 do begin BeginUpdate(); ColumnAutoResize := False; with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.36'))) as DAO_TLB.PrivDBEngine) do begin rs := OpenDatabase('C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.mdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null); end; DataSource := (IUnknown(rs) as DAO_TLB.Recordset); EndUpdate(); end |
1091 |
ADODB, ACCDB, x64
with Grid1 do begin BeginUpdate(); ColumnAutoResize := False; rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb',1,1,Null); end; DataSource := (IUnknown(rs) as ADODB_TLB.Recordset); EndUpdate(); end |
1090 |
ADOR, ACCDB
with Grid1 do begin BeginUpdate(); ColumnAutoResize := False; rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb',3,3,Null); end; DataSource := (IUnknown(rs) as ADODB_TLB.Recordset); EndUpdate(); end |
1089 |
ADODB, MDB
with Grid1 do begin BeginUpdate(); ColumnAutoResize := False; rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb',3,3,Null); end; DataSource := (IUnknown(rs) as ADODB_TLB.Recordset); EndUpdate(); end |
1088 |
ADOR, MDB
with Grid1 do begin BeginUpdate(); ColumnAutoResize := False; rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset); with rs do begin Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb',3,3,Null); end; DataSource := (IUnknown(rs) as ADODB_TLB.Recordset); EndUpdate(); end |
1087 |
How can I display the row on multiple lines (excrd)
with Grid1 do begin BeginUpdate(); HeaderAppearance := EXGRIDLib_TLB.Etched; SelBackMode := EXGRIDLib_TLB.exTransparent; with (IUnknown(Columns.Add('Default')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellFormatLevel] := '[b=0]60;1[b=15]:60,((20;"<fgcolor=808080>Dateigröße"[b=1][a=2]:120,2[b=15])/(20;"<fgcolor=808080>Erstellt am"[a=2]:120,3[b=15])/' + '(20;"<fgcolor=808080>Zuletzt bearbeitet"[b=4][a=2]:120,4[b=15]))'; AllowSort := False; end; (IUnknown(Columns.Add(1)) as EXGRIDLib_TLB.Column).Visible := False; with (IUnknown(Columns.Add(2)) as EXGRIDLib_TLB.Column) do begin Visible := False; Editor.EditType := EXGRIDLib_TLB.EditType; FormatColumn := '1 index `A-Z`'; end; with (IUnknown(Columns.Add(3)) as EXGRIDLib_TLB.Column) do begin Visible := False; Editor.EditType := EXGRIDLib_TLB.EditType; FormatColumn := '1 index ``'; end; with (IUnknown(Columns.Add(4)) as EXGRIDLib_TLB.Column) do begin Visible := False; Editor.EditType := EXGRIDLib_TLB.EditType; FormatColumn := 'date(``)'; end; DefaultItemHeight := 48; DrawGridLines := EXGRIDLib_TLB.exRowLines; GridLineStyle := EXGRIDLib_TLB.exGridLinesSolid; ViewModeOption[EXGRIDLib_TLB.exTableView,EXGRIDLib_TLB.exBorderWidth] := OleVariant(1); ViewModeOption[EXGRIDLib_TLB.exTableView,EXGRIDLib_TLB.exBorderHeight] := OleVariant(1); with Items do begin CellValue[OleVariant(AddItem('')),OleVariant(1)] := 'One'; CellValue[OleVariant(AddItem('')),OleVariant(1)] := 'Two'; CellValue[OleVariant(AddItem('')),OleVariant(1)] := 'Three'; end; EndUpdate(); end |
1086 |
Type of wraps the cell's caption support (Sample 2)
with Grid1 do begin BeginUpdate(); HeaderSingleLine := False; HeaderHeight := 36; DrawGridLines := EXGRIDLib_TLB.exRowLines; ColumnAutoResize := False; ScrollBySingleLine := True; with Columns do begin with (IUnknown(Add('Single-Line (exCaptionSingleLine)')) as EXGRIDLib_TLB.Column) do begin Width := 96; Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); Def[EXGRIDLib_TLB.exCellSingleLine] := OleVariant(-1); end; with (IUnknown(Add('Word-Wrap (exCaptionWordWrap)')) as EXGRIDLib_TLB.Column) do begin Width := 96; Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); Def[EXGRIDLib_TLB.exCellSingleLine] := OleVariant(0); FormatColumn := '%0'; end; with (IUnknown(Add('Break-Wrap (exCaptionBreakWrap)')) as EXGRIDLib_TLB.Column) do begin Width := 96; Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); Def[EXGRIDLib_TLB.exCellSingleLine] := OleVariant(1); FormatColumn := '%0'; end; end; with Items do begin AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.'); AddItem('This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.'); end; EndUpdate(); end |
1085 |
Type of wraps the cell's caption support (Sample 1)
with Grid1 do begin BeginUpdate(); HeaderSingleLine := False; HeaderHeight := 36; DrawGridLines := EXGRIDLib_TLB.exRowLines; ColumnAutoResize := False; ScrollBySingleLine := True; (IUnknown(Columns.Add('Default')) as EXGRIDLib_TLB.Column).Width := 128; with Items do begin h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.'); CellValueFormat[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exHTML; h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); CellSingleLine[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exCaptionWordWrap; h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.'); CellValueFormat[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exHTML; CellSingleLine[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exCaptionWordWrap; h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); CellSingleLine[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exCaptionBreakWrap; h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.'); CellValueFormat[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exHTML; CellSingleLine[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exCaptionBreakWrap; end; EndUpdate(); end |
1084 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)
with Grid1 do begin BeginUpdate(); DrawGridLines := EXGRIDLib_TLB.exRowLines; ColumnAutoResize := False; ScrollBySingleLine := True; (IUnknown(Columns.Add('Default')) as EXGRIDLib_TLB.Column).Width := 128; with Items do begin CellSingleLine[OleVariant(AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.')),OleVariant(0)] := EXGRIDLib_TLB.exCaptionBreakWrap; AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); end; EndUpdate(); end |
1083 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)
with Grid1 do begin BeginUpdate(); HeaderAppearance := EXGRIDLib_TLB.Etched; DrawGridLines := EXGRIDLib_TLB.exRowLines; GridLineStyle := EXGRIDLib_TLB.exGridLinesGeometric; ColumnAutoResize := False; ScrollBySingleLine := True; with (IUnknown(Columns.Add('Default')) as EXGRIDLib_TLB.Column) do begin Width := 196; Def[EXGRIDLib_TLB.exCellSingleLine] := OleVariant(1); end; with Items do begin h := AddItem('<solidline><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;properties>+</a><br><solidline>+ balance: Currency = 0</so' + 'lidline><br>+ deposit(amount: Currency)<r><a ;methods>+</a><br>+ withdraw(amount: Currency)'); CellValueFormat[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exHTML; AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); end; EndUpdate(); end |
1082 |
How can I change the visual appearance/color of the Filter For ... field
with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; BackColorHeader := RGB(1,0,0); ForeColorHeader := RGB(255,255,255); Background[EXGRIDLib_TLB.exBackColorFilter] := BackColorHeader; Background[EXGRIDLib_TLB.exForeColorFilter] := ForeColorHeader; Background[EXGRIDLib_TLB.exHeaderFilterBarButton] := $f0f0f0; Background[EXGRIDLib_TLB.exCursorHoverColumn] := $ffffffff; HeaderAppearance := EXGRIDLib_TLB.Bump; with (IUnknown(Columns.Add('Items')) as EXGRIDLib_TLB.Column) do begin FilterOnType := True; DisplayFilterButton := True; FilterList := EXGRIDLib_TLB.exNoItems; end; with Items do begin h := AddItem('Root 1'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; h := AddItem('Root 2'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); end; EndUpdate(); end |
1081 |
How can I display the cell's caption without spaces on both sides
with Grid1 do begin BeginUpdate(); ColumnAutoResize := True; with (IUnknown(Columns.Add('Default')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); FormatColumn := '((trim(value) replace ` ` with ` `) replace ` ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`'; end; with Items do begin AddItem(''); AddItem('Item A'); AddItem(' Item B'); AddItem(' Item C '); end; EndUpdate(); end |
1080 |
How can I highlight the spaces within the column (sample 2)
with Grid1 do begin BeginUpdate(); ColumnAutoResize := True; with (IUnknown(Columns.Add('Default')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); FormatColumn := '`''` + ( value replace ` ` with `_` ) + `''`'; end; with Items do begin AddItem(''); AddItem('Item A'); AddItem(' Item B'); AddItem(' Item C '); end; EndUpdate(); end |
1079 |
How can I highlight the spaces within the column (sample 1)
with Grid1 do begin BeginUpdate(); ColumnAutoResize := True; with (IUnknown(Columns.Add('Default')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); FormatColumn := 'len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )'; end; with Items do begin AddItem(''); AddItem('Item A'); AddItem(' Item B'); AddItem(' Item C '); end; EndUpdate(); end |
1078 |
How can I change the visual aspect of the drop down filter-calendar
with Grid1 do begin BeginUpdate(); Background[EXGRIDLib_TLB.exBackColorFilter] := $10000; Background[EXGRIDLib_TLB.exForeColorFilter] := $ffffff; Background[EXGRIDLib_TLB.exDateScrollRange] := $ffffff; Background[EXGRIDLib_TLB.exDateHeader] := Background[EXGRIDLib_TLB.exBackColorFilter]; Background[EXGRIDLib_TLB.exDateScrollThumb] := $808080; with (IUnknown(Columns.Add('Date')) as EXGRIDLib_TLB.Column) do begin FilterType := EXGRIDLib_TLB.exDate; DisplayFilterButton := True; DisplayFilterDate := True; DisplayFilterPattern := False; end; EndUpdate(); end |
1077 |
How can I hide the filter bar description
with Grid1 do begin BeginUpdate(); with (IUnknown(Columns.Add('Filter')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGRIDLib_TLB.exFilter; Filter := 'B'; end; with Items do begin AddItem('A'); AddItem('B'); AddItem('C'); end; ApplyFilter(); FilterBarHeight := 0; EndUpdate(); end |
1076 |
Export Data in HTML format
with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; BackColorAlternate := RGB(240,240,240); DrawGridLines := EXGRIDLib_TLB.exAllLines; HeaderAppearance := EXGRIDLib_TLB.Etched; Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + '[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( match' + 'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 't + ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCompact) Or Integer(EXGRIDLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGRIDLib_TLB.exFilterBarSingleLine) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); FilterBarPromptType := EXGRIDLib_TLB.exFilterPromptContainsAny; with ConditionalFormats do begin Add('%0 like `*parent*`','parent').BackColor := $c0c0c0; with Add('%0 like `*child*`','child') do begin ForeColor := $8080ff; ApplyTo := EXGRIDLib_TLB.exFormatToColumns; end; with Add('%0 like `*B*`','b') do begin ForeColor := $ff0000; Bold := True; Italic := True; ApplyTo := EXGRIDLib_TLB.exFormatToColumns; end; end; with Columns do begin with (IUnknown(Add('Value')) as EXGRIDLib_TLB.Column) do begin Width := 128; HTMLCaption := '<b>VA</b><r>sko'; end; with (IUnknown(Add('APos')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 apos ``'; AllowSort := False; Def[EXGRIDLib_TLB.exCellBackColor] := OleVariant(15790320); Def[EXGRIDLib_TLB.exCellForeColor] := OleVariant(8421504); Def[EXGRIDLib_TLB.exHeaderForeColor] := Def[EXGRIDLib_TLB.exCellForeColor]; Position := 0; end; with (IUnknown(Add('RPos')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 rpos ``'; AllowSort := False; Position := 1; end; with (IUnknown(Add('Index')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 index ``'; DisplayFilterButton := True; FilterList := EXGRIDLib_TLB.exShowCheckBox; Position := 2; end; with (IUnknown(Add('Data 1')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 index `A-Z`'; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); end; with (IUnknown(Add('Data 2')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 index `AB` replace `A` with `<off -4>A</off>`'; Def[EXGRIDLib_TLB.exCellSingleLine] := OleVariant(False); Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); Def[EXGRIDLib_TLB.exCellHasRadioButton] := OleVariant(True); end; with (IUnknown(Add('Data 3')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 index `CDC` replace `D` with `<b>D</b>`'; Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); end; end; with Items do begin h := AddItem('ParentA'); InsertItem(h,Null,'Child A'); InsertItem(h,Null,'Child B'); CellState[OleVariant(h),OleVariant(4)] := 1; CellBackColor[OleVariant(InsertItem(h,Null,'Child C')),OleVariant(5)] := $ff00; ExpandItem[h] := True; AddItem('Item A'); h := AddItem('ParentB'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); CellBackColor[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(5)] := $ff00; CellState[OleVariant(h),OleVariant(5)] := 1; AddItem('Item B'); AddItem('Item C'); AddItem('Item D'); ExpandItem[h] := True; end; EndUpdate(); sFile := 'c:/temp/export.html'; Export(OleVariant(sFile),'vis'); with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('InternetExplorer.Application'))) as SHDocVw_TLB.ShellBrowserWindow) do begin Navigate2(sFile,Null,Null,Null,Null); end; end |
1075 |
Export Data in CSV format
with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; BackColorAlternate := RGB(240,240,240); DrawGridLines := EXGRIDLib_TLB.exAllLines; HeaderAppearance := EXGRIDLib_TLB.Etched; Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + '[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( match' + 'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 't + ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCompact) Or Integer(EXGRIDLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGRIDLib_TLB.exFilterBarSingleLine) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); FilterBarPromptType := EXGRIDLib_TLB.exFilterPromptContainsAny; with ConditionalFormats do begin Add('%0 like `*parent*`','parent').BackColor := $c0c0c0; with Add('%0 like `*child*`','child') do begin ForeColor := $8080ff; ApplyTo := EXGRIDLib_TLB.exFormatToColumns; end; with Add('%0 like `*B*`','b') do begin ForeColor := $ff0000; Bold := True; Italic := True; ApplyTo := EXGRIDLib_TLB.exFormatToColumns; end; end; with Columns do begin with (IUnknown(Add('Value')) as EXGRIDLib_TLB.Column) do begin Width := 128; HTMLCaption := '<b>VA</b><r>sko'; end; with (IUnknown(Add('APos')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 apos ``'; AllowSort := False; Def[EXGRIDLib_TLB.exCellBackColor] := OleVariant(15790320); Def[EXGRIDLib_TLB.exCellForeColor] := OleVariant(8421504); Def[EXGRIDLib_TLB.exHeaderForeColor] := Def[EXGRIDLib_TLB.exCellForeColor]; Position := 0; end; with (IUnknown(Add('RPos')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 rpos ``'; AllowSort := False; Position := 1; end; with (IUnknown(Add('Index')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 index ``'; DisplayFilterButton := True; FilterList := EXGRIDLib_TLB.exShowCheckBox; Position := 2; end; with (IUnknown(Add('Data 1')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 index `A-Z`'; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); end; with (IUnknown(Add('Data 2')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 index `AB` replace `A` with `<off -4>A</off>`'; Def[EXGRIDLib_TLB.exCellSingleLine] := OleVariant(False); Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); Def[EXGRIDLib_TLB.exCellHasRadioButton] := OleVariant(True); end; with (IUnknown(Add('Data 3')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '0 index `CDC` replace `D` with `<b>D</b>`'; Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); end; end; with Items do begin h := AddItem('ParentA'); InsertItem(h,Null,'Child A'); InsertItem(h,Null,'Child B'); CellState[OleVariant(h),OleVariant(4)] := 1; CellBackColor[OleVariant(InsertItem(h,Null,'Child C')),OleVariant(5)] := $ff00; ExpandItem[h] := True; AddItem('Item A'); h := AddItem('ParentB'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); CellBackColor[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(5)] := $ff00; CellState[OleVariant(h),OleVariant(5)] := 1; AddItem('Item B'); AddItem('Item C'); AddItem('Item D'); ExpandItem[h] := True; end; EndUpdate(); OutputDebugString( Export('','vis') ); end |
1074 |
Is it possible to check multiple-items at once
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Grid1AddItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin bHasParent := FormatABC('value != 0',Items.ItemParent[Item],Null,Null); with Items do begin CellHasCheckBox[OleVariant(Item),OleVariant(0)] := False; end; end end; with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('Tasks')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); FormatColumn := 'value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)'; end; HeaderVisible := True; SingleSel := False; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'Task 1'); hChild := InsertItem(h,Null,'Task 2'); hChild := InsertItem(h,Null,'Task 3'); ExpandItem[h] := True; LockedItemCount[EXGRIDLib_TLB.exTop] := 1; CellValue[OleVariant(LockedItem[EXGRIDLib_TLB.exTop,0]),OleVariant(0)] := '<c>Select multiple items and press the <b>SPACE</b> key'; end; EndUpdate(); end |
1073 |
How can I get the icon from the cell when using the Items.CellImages property (icon index)
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.Grid1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with Grid1 do begin i := ItemFromPoint[-1,-1,c,hit]; OutputDebugString( FormatABC('( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` ) : `no image`',OleVariant(hit),Items.CellImages[OleVariant(i),OleVariant(c)],Null) ); end end; with Grid1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); Columns.Add('Default'); with Items do begin CellImages[OleVariant(AddItem('Item 1')),OleVariant(0)] := '3,2,1'; CellImages[OleVariant(AddItem('Item 2')),OleVariant(0)] := '2,3'; CellImages[OleVariant(AddItem('Item 3')),OleVariant(0)] := '2,'; end; EndUpdate(); end |
1072 |
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.Grid1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with Grid1 do begin i := ItemFromPoint[-1,-1,c,hit]; OutputDebugString( FormatABC('( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`',OleVariant(hit),Null,Null) ); end end; with Grid1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); Columns.Add('Default'); with Items do begin CellImages[OleVariant(AddItem('Item 1')),OleVariant(0)] := '3,2,1'; CellImages[OleVariant(AddItem('Item 2')),OleVariant(0)] := '2,3'; CellImages[OleVariant(AddItem('Item 3')),OleVariant(0)] := '2'; end; EndUpdate(); end |
1071 |
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
with Grid1 do begin BeginUpdate(); HeaderAppearance := EXGRIDLib_TLB.Etched; with Columns do begin Add('Column 1'); Add('Column 2'); Add('Column 3'); end; with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI' + 'UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a' + 'DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe' + 'EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIB' + 'ICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokG' + 'KHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI='); Add(2,'CP:1 0 -36 0 0'); end; Background[EXGRIDLib_TLB.exColumnsPositionSign] := $2000000; EndUpdate(); end |
1070 |
How can I add a title column
with Grid1 do begin BeginUpdate(); HeaderHeight := 22; HeaderAppearance := EXGRIDLib_TLB.Etched; DrawGridLines := EXGRIDLib_TLB.exAllLines; with Columns do begin Add('Col 1'); (IUnknown(Add('Col 2')) as EXGRIDLib_TLB.Column).FormatColumn := '1 pos ``'; (IUnknown(Add('Col 3')) as EXGRIDLib_TLB.Column).FormatColumn := '1 pos `A-`'; (IUnknown(Add('Col 4')) as EXGRIDLib_TLB.Column).FormatColumn := '1 pos `A-Z`'; with (IUnknown(Add('Title')) as EXGRIDLib_TLB.Column) do begin ExpandColumns := '0,1,2,3'; DisplayExpandButton := False; AllowSort := False; AllowDragging := False; Position := 0; HeaderAlignment := EXGRIDLib_TLB.CenterAlignment; end; end; ColumnAutoResize := False; with Items do begin AddItem('Item 1'); AddItem('Item 2'); AddItem('Item 3'); AddItem('Item 4'); end; EndUpdate(); OutputDebugString( Export('',Null) ); end |
1069 |
FilterBarCaption ALLUI Keyword ( sample 3, result, leaf )
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. procedure TForm1.Grid1AddGroupItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin with Items do begin ItemBackColor[Item] := $f0f0f0; val := CellValue[OleVariant(Item),OleVariant(GroupItem[Item])]; CellState[OleVariant(Item),OleVariant(GroupItem[Item])] := Grid1.FormatABC('A = `Checked` ? 1 : 0',OleVariant(val),Null,Null); end; end end; // AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Grid1AddItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; end end; with Grid1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGRIDLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGRIDLib_TLB.exImage; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 rpos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellValue[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + '[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( match' + 'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + leafitemcount + ` result(s)` ) : (`<r><fgcolor=808080>`+ leafitemcount + ` ' + 'item(s)`) )))'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); AllowGroupBy := True; SortBarVisible := True; with Columns.Item[OleVariant(2)] do begin FormatColumn := '%CS2 ? `Checked` : `Unchecked`'; SortOrder := EXGRIDLib_TLB.SortAscending; end; EndUpdate(); end |
1068 |
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do
with Grid1 do begin BeginUpdate(); ColumnAutoResize := True; DefaultItemHeight := 20; VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY' + '1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hh' + 'WfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6' + 'DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJ' + 'SEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0' + 'pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA=='); with (IUnknown(Columns.Add('Default')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with (IUnknown(Columns.Add('Position')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '1 rindex ``'; Visible := False; end; with ConditionalFormats.Add('%C1 mod 2',Null) do begin BackColor := $1000000; end; with Items do begin AddItem('Item 1'); AddItem('Item 2'); AddItem('Item 3'); AddItem('Item 4'); end; EndUpdate(); end |
1067 |
How can I specify alternate background colors for each root item, similar with BackColorAlternate
with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('Default')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with (IUnknown(Columns.Add('Position')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '( ( 1:=( ( 0:=(1 rpos '''') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )'; Visible := False; end; with ConditionalFormats.Add('%C1 mod 2',Null) do begin BackColor := $f0f0f0; end; with Items do begin h := AddItem('Root 1'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; h := AddItem('Root 2'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); h := AddItem('Root 3'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); end; EndUpdate(); end |
1066 |
Is it possible to change the caption from a column without to remove the column and add it with the new caption
with Grid1 do begin (IUnknown(Columns.Add('ColumnName')) as EXGRIDLib_TLB.Column).Caption := 'NewName'; (IUnknown(Columns.Add('ColumnName')) as EXGRIDLib_TLB.Column).HTMLCaption := '<b>New</b>Name'; end |
1065 |
FilterBarCaption ALL Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Grid1AddItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; end end; with Grid1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column) do begin with Editor do begin EditType := EXGRIDLib_TLB.CheckValueType; Option[EXGRIDLib_TLB.exCheckValue2] := OleVariant(1); end; DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGRIDLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGRIDLib_TLB.exImage; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellValue[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<' + 's>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchit' + 'emcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount ' + '+ ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
1064 |
FilterBarCaption ALL Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Grid1AddItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; end end; with Grid1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column) do begin with Editor do begin EditType := EXGRIDLib_TLB.CheckValueType; Option[EXGRIDLib_TLB.exCheckValue2] := OleVariant(1); end; DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGRIDLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGRIDLib_TLB.exImage; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellValue[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'all'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
1063 |
FilterBarCaption ALLUI Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Grid1AddItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; end end; with Grid1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column) do begin with Editor do begin EditType := EXGRIDLib_TLB.CheckValueType; Option[EXGRIDLib_TLB.exCheckValue2] := OleVariant(1); end; DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGRIDLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGRIDLib_TLB.exImage; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellValue[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + '[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( match' + 'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 't + ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
1062 |
FilterBarCaption ALLUI Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Grid1AddItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; end end; with Grid1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column) do begin with Editor do begin EditType := EXGRIDLib_TLB.CheckValueType; Option[EXGRIDLib_TLB.exCheckValue2] := OleVariant(1); end; DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGRIDLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGRIDLib_TLB.exImage; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellValue[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'allui'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
1061 |
FilterBarCaption AVAILABLE Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Grid1AddItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; end end; with Grid1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column) do begin with Editor do begin EditType := EXGRIDLib_TLB.CheckValueType; Option[EXGRIDLib_TLB.exCheckValue2] := OleVariant(1); end; DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGRIDLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGRIDLib_TLB.exImage; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellValue[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( avai' + 'lable replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with ``' + ' replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount ' + '+ 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
1060 |
FilterBarCaption AVAILABLE Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Grid1AddItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; end end; with Grid1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column) do begin with Editor do begin EditType := EXGRIDLib_TLB.CheckValueType; Option[EXGRIDLib_TLB.exCheckValue2] := OleVariant(1); end; DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGRIDLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGRIDLib_TLB.exImage; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellValue[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'value + ` ` + available'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
1059 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )
with Grid1 do begin BeginUpdate(); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; CellValue[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B'; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ' + '` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace' + ' `]` with ` </b></bgcolor></fgcolor>`'; FilterBarPromptVisible := EXGRIDLib_TLB.exFilterBarToggle; with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; with Columns.Item[OleVariant(1)] do begin FilterType := EXGRIDLib_TLB.exPattern; Filter := '*B'; end; ApplyFilter(); EndUpdate(); end |
1058 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )
with Grid1 do begin BeginUpdate(); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; CellValue[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B'; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`'; FilterBarPromptVisible := EXGRIDLib_TLB.exFilterBarToggle; with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; with Columns.Item[OleVariant(1)] do begin FilterType := EXGRIDLib_TLB.exPattern; Filter := '*B'; end; ApplyFilter(); EndUpdate(); end |
1057 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )
with Grid1 do begin BeginUpdate(); with (IUnknown(Columns.Add('Col-1')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellValue[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; CellValue[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B'; CellValue[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; Description[EXGRIDLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXGRIDLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`'; FilterBarPromptVisible := EXGRIDLib_TLB.exFilterBarToggle; with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; with Columns.Item[OleVariant(1)] do begin FilterType := EXGRIDLib_TLB.exPattern; Filter := '*B'; end; ApplyFilter(); EndUpdate(); end |
1056 |
Is it possible to automatically displays the control's filter label to the right
with Grid1 do begin BeginUpdate(); with (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarCaption := '`<r>` + value'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXGRIDLib_TLB.exFilterBarToggle); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item B'; end; ApplyFilter(); EndUpdate(); end |
1055 |
How can I get the number of results/items being shown in the control's filter bar (sample 4)
with Grid1 do begin BeginUpdate(); with (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowFocusItem) Or Integer(EXGRIDLib_TLB.exShowCheckBox) Or Integer(EXGRIDLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarPrompt := FormatABC('`<b>` + value',OleVariant(FilterBarPrompt),Null,Null); FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +' + ' 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCompact) Or Integer(EXGRIDLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXGRIDLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGRIDLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); EndUpdate(); end |
1054 |
How can I get the number of results being shown in the control's filter bar (sample 3)
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +' + ' 1) + ` result(s)` ) : ``)'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCompact) Or Integer(EXGRIDLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
1053 |
How can I get the number of results being shown in the control's filter bar (sample 2, compact)
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCompact) Or Integer(EXGRIDLib_TLB.exFilterBarSingleLine) Or Integer(EXGRIDLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
1052 |
How can I get the number of results being shown in the control's filter bar (sample 1)
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
1051 |
FilterBarCaption Predefined Keywords
// AfterExpandItem event - Fired after an item is expanded (collapsed). procedure TForm1.Grid1AfterExpandItem(ASender: TObject; Item : HITEM); begin with Grid1 do begin Refresh(); end end; with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column) do begin with Editor do begin EditType := EXGRIDLib_TLB.CheckValueType; Option[EXGRIDLib_TLB.exCheckValue2] := OleVariant(1); end; DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGRIDLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); h := AddItem('Item B'); CellState[OleVariant(InsertItem(h,Null,'Sub-Item B1')),OleVariant(1)] := 1; InsertItem(h,Null,'Sub-Item B2'); ExpandItem[h] := True; AddItem('Item C'); end; FilterInclude := EXGRIDLib_TLB.exItemsWithChilds; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i' + '></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>:' + ' ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><' + 'i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i' + '></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=80' + '8080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + ' + '`</fgcolor>`'; FilterBarPromptPattern := 'B'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
1050 |
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value'; FilterBarPromptPattern := 'B'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCompact) Or Integer(EXGRIDLib_TLB.exFilterBarSingleLine) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
1049 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXGRIDLib_TLB.exFilterBarToggle) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); FilterBarPrompt := FormatABC('`<r>` + value',OleVariant(FilterBarPrompt),Null,Null); EndUpdate(); end |
1048 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )
with Grid1 do begin BeginUpdate(); RightToLeft := True; (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarToggle) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); EndUpdate(); end |
1047 |
How can I change the visual appearance of the filter bar's close button (EBN)
with Grid1 do begin BeginUpdate(); with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJj' + 'yI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmS' + 'ZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8ORO' + 'icbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2D' + 'YxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXA' + 'iAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJ' + 'DCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0' + 'TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAk' + 'jIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSM' + 'RsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQ' + 'HkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ'); end; (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarToggle) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); Background[EXGRIDLib_TLB.exFooterFilterBarButton] := $1000000; EndUpdate(); end |
1046 |
How can I change the visual appearance of the filter bar's close button (solid)
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGRIDLib_TLB.exFilterBarPromptVisible; Background[EXGRIDLib_TLB.exFooterFilterBarButton] := $ff; EndUpdate(); end |
1045 |
Is it possible to prevent definitely showing the filter bar's close button
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGRIDLib_TLB.exFilterBarPromptVisible; Background[EXGRIDLib_TLB.exFooterFilterBarButton] := $ffffffff; EndUpdate(); end |
1044 |
Is it possible to show the close button only if there is a filter applied
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); EndUpdate(); end |
1043 |
The control's filter bar is not closed once I click the close button (toggle)
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); LockedItemCount[EXGRIDLib_TLB.exBottom] := 1; h := LockedItem[EXGRIDLib_TLB.exBottom,0]; ItemDivider[h] := 0; CellValue[OleVariant(h),OleVariant(0)] := '<c><fgcolor=808080>Press the CTRL + F to turn on/off the control''s filter bar. ALT + Up/Down moves the focus.'; CellValueFormat[OleVariant(h),OleVariant(0)] := EXGRIDLib_TLB.exHTML; end; FilterBarCaption := '`<r><fgcolor=808080>` + value'; FilterBarPromptPattern := 'B'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCompact) Or Integer(EXGRIDLib_TLB.exFilterBarToggle) Or Integer(EXGRIDLib_TLB.exFilterBarSingleLine) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item B'; end; ApplyFilter(); EndUpdate(); end |
1042 |
How can I display the control's filter on a single line
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarCaption := 'len(value) ? `filter for: <fgcolor 808080>` + value : `<fgcolor 808080>no filter`'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarSingleLine) Or Integer(EXGRIDLib_TLB.exFilterBarVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
1041 |
How can I display the control's filter on a single line (prompt-combined)
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarCaption := '`<r>` + value'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarCompact) Or Integer(EXGRIDLib_TLB.exFilterBarSingleLine) Or Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
1040 |
How can I get the number of results after a filter is applied
// Click event - Occurs when the user presses and then releases the left mouse button over the grid control. procedure TForm1.Grid1Click(ASender: TObject; ); begin with Grid1 do begin ClearFilter(); end end; // FilterChange event - Occurs when filter was changed. procedure TForm1.Grid1FilterChange(ASender: TObject; ); begin with Grid1 do begin OutputDebugString( 'Items.MatchItemCount' ); OutputDebugString( Items.MatchItemCount ); OutputDebugString( FormatABC('value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`',Items.MatchItemCount,Null,Null) ); end end; with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGRIDLib_TLB.exFilterBarPromptVisible; FilterBarPromptPattern := 'Item'; EndUpdate(); end |
1039 |
How can I programmatically clear the control's filter
// Click event - Occurs when the user presses and then releases the left mouse button over the grid control. procedure TForm1.Grid1Click(ASender: TObject; ); begin with Grid1 do begin ClearFilter(); end end; with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGRIDLib_TLB.exFilterBarPromptVisible; FilterBarPromptPattern := 'B'; EndUpdate(); end |
1038 |
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptPattern := 'B'; FilterBarPromptVisible := Integer(EXGRIDLib_TLB.exFilterBarVisible) Or Integer(EXGRIDLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item B'; end; ApplyFilter(); EndUpdate(); end |
1037 |
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGRIDLib_TLB.exFilterBarPromptVisible; FilterBarPromptPattern := 'B'; EndUpdate(); end |
1036 |
Is it possible to prevent closing the control's filter bar, so it is always shown
with Grid1 do begin BeginUpdate(); (IUnknown(Columns.Add('Item')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarCaption := 'len(value) = 0 ? `<fgcolor=808080>no filter` : value'; FilterBarPromptVisible := EXGRIDLib_TLB.exFilterBarVisible; with Columns.Item[OleVariant(0)] do begin FilterType := EXGRIDLib_TLB.exFilter; Filter := 'Item B'; end; ApplyFilter(); EndUpdate(); end |
1035 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)
with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; VisualDesign := 'gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcT' + 'SBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiC' + 'QQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4b' + 'g2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6N' + '4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhgh' + 'WDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkMh' + 'Ag6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOgglo' + 'Foqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyTK' + 'MszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhF' + 'kXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEg' + 'EYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxS' + 'CxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNUB' + 'oQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ='; Columns.Add('Column'); with Items do begin h := AddItem('Root 1'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; h := AddItem('Root 2'); InsertItem(h,Null,'Child'); end; EndUpdate(); end |
1034 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)
with Grid1 do begin BeginUpdate(); with VisualAppearance do begin Add(3,'gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX' + 'IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg' + 'wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI' + 'NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA='); Add(1,'CP:3 -2 -2 2 2'); Add(4,'gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe' + 'Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF' + 'SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ' + 'tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI='); Add(2,'CP:4 -2 -2 2 2'); end; LinesAtRoot := EXGRIDLib_TLB.exGroupLinesAtRoot; HasButtons := EXGRIDLib_TLB.exCustom; HasButtonsCustom[False] := 16777216; HasButtonsCustom[True] := 33554432; Columns.Add('Column'); with Items do begin h := AddItem('Root 1'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; h := AddItem('Root 2'); InsertItem(h,Null,'Child'); end; EndUpdate(); end |
1033 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)
with Grid1 do begin BeginUpdate(); with VisualAppearance do begin Add(1,'XP:TREEVIEW 2 1'); Add(2,'XP:TREEVIEW 2 2'); end; Background[EXGRIDLib_TLB.exTreeGlyphOpen] := $1000000; Background[EXGRIDLib_TLB.exTreeGlyphClose] := $2000000; LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; Columns.Add('Column'); with Items do begin h := AddItem('Root 1'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; h := AddItem('Root 2'); InsertItem(h,Null,'Child'); end; EndUpdate(); end |
1032 |
How can I find if the control is running in DPI mode
|
1031 |
How can I change the visual appearance of the +/- buttons (method 1)
with Grid1 do begin BeginUpdate(); with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX' + 'IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg' + 'wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI' + 'NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA='); Add(2,'gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe' + 'Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF' + 'SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ' + 'tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI='); end; LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; Background[EXGRIDLib_TLB.exTreeGlyphOpen] := $1000000; Background[EXGRIDLib_TLB.exTreeGlyphClose] := $2000000; Columns.Add('Column'); with Items do begin h := AddItem('Root 1'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; h := AddItem('Root 2'); InsertItem(h,Null,'Child'); end; EndUpdate(); end |
1030 |
I am using single selection, the question is if possible to select an item only when the user releases the mouse, as currently it selects the item as soon as the user clicks it
// SelectionChanged event - Fired after a new item has been selected. procedure TForm1.Grid1SelectionChanged(ASender: TObject; ); begin with Grid1 do begin OutputDebugString( 'SelectionChanged' ); end end; with Grid1 do begin BeginUpdate(); FreezeEvents(True); SingleSel := True; SelectOnRelease := True; (IUnknown(Columns.Add('Column')) as EXGRIDLib_TLB.Column).FormatColumn := '1 apos `A-Z`'; with Items do begin AddItem(''); SelectItem[AddItem('')] := True; AddItem(''); end; FreezeEvents(False); EndUpdate(); end |
1029 |
Is it possible to select nothing
// SelectionChanged event - Fired after a new item has been selected. procedure TForm1.Grid1SelectionChanged(ASender: TObject; ); begin with Grid1 do begin OutputDebugString( 'SelectionChanged' ); end end; with Grid1 do begin BeginUpdate(); FreezeEvents(True); AllowSelectNothing := True; (IUnknown(Columns.Add('Column')) as EXGRIDLib_TLB.Column).FormatColumn := '1 apos `A-Z`'; with Items do begin AddItem(''); SelectItem[AddItem('')] := True; AddItem(''); end; FreezeEvents(False); EndUpdate(); end |
1028 |
How can I specify the color for control's selection when it loses the focus
with Grid1 do begin BeginUpdate(); with (IUnknown(Columns.Add('')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; AllowDragging := False; AllowSort := False; Width := 24; Def[EXGRIDLib_TLB.exCellHasButton] := OleVariant(True); end; (IUnknown(Columns.Add('Column')) as EXGRIDLib_TLB.Column).FormatColumn := '1 apos `A-Z`'; with Items do begin AddItem(''); SelectItem[AddItem('')] := True; AddItem(''); end; Background[EXGRIDLib_TLB.exSelBackColorHide] := $c4c4c4; Background[EXGRIDLib_TLB.exSelForeColorHide] := $10000; EndUpdate(); end |
1027 |
How can I change the background color for checked items (EBN color, frame)
// CellStateChanged event - Fired after cell's state has been changed. procedure TForm1.Grid1CellStateChanged(ASender: TObject; Item : HITEM;ColIndex : Integer); begin with Grid1 do begin Refresh(); end end; with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; SelBackMode := EXGRIDLib_TLB.exTransparent; DefaultItemHeight := 22; with (IUnknown(Columns.Add('Tasks')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with VisualAppearance do begin Add(2,'gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEcx' + '9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJcF' + 'qXFSLVxNBKAQEBA='); Add(1,'CP:2 1 1 -1 -1'); end; with ConditionalFormats.Add('%CS0 = 1',Null) do begin BackColor := $1000000; end; HeaderVisible := True; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'Task 1'); SelectItem[hChild] := True; hChild := InsertItem(h,Null,'Task 2'); CellState[OleVariant(hChild),OleVariant(0)] := 1; hChild := InsertItem(h,Null,'Task 3'); CellState[OleVariant(hChild),OleVariant(0)] := 1; ExpandItem[h] := True; end; EndUpdate(); end |
1026 |
How can I change the caption of the checked items (sample 2)
with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('Tasks')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); FormatColumn := '%CS0 = 1 ? `<bgcolor=000000><fgcolor=FFFFFF> ` + value + ` </fgcolor></bgcolor>` : value'; end; HeaderVisible := True; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'Task 1'); SelectItem[hChild] := True; hChild := InsertItem(h,Null,'Task 2'); CellState[OleVariant(hChild),OleVariant(0)] := 1; hChild := InsertItem(h,Null,'Task 3'); CellState[OleVariant(hChild),OleVariant(0)] := 1; ExpandItem[h] := True; end; EndUpdate(); end |
1025 |
How can I change the caption of the checked items (sample 1)
with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('Tasks')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; Def[EXGRIDLib_TLB.exCellValueFormat] := OleVariant(1); FormatColumn := 'value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)'; end; HeaderVisible := True; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'Task 1'); SelectItem[hChild] := True; hChild := InsertItem(h,Null,'Task 2'); CellState[OleVariant(hChild),OleVariant(0)] := 1; hChild := InsertItem(h,Null,'Task 3'); CellState[OleVariant(hChild),OleVariant(0)] := 1; ExpandItem[h] := True; end; EndUpdate(); end |
1024 |
How can I change the font for the checked items
// CellStateChanged event - Fired after cell's state has been changed. procedure TForm1.Grid1CellStateChanged(ASender: TObject; Item : HITEM;ColIndex : Integer); begin with Grid1 do begin Refresh(); end end; with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; DefaultItemHeight := 22; with (IUnknown(Columns.Add('Tasks')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with ConditionalFormats.Add('%CS0 = 1',Null) do begin f := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('StdFont'))) as stdole_TLB.StdFont); with f do begin Name := Grid1.Font.Name; Size := 12; end; Font := (IUnknown(f) as stdole_TLB.StdFont); end; HeaderVisible := True; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'Task 1'); SelectItem[hChild] := True; hChild := InsertItem(h,Null,'Task 2'); CellState[OleVariant(hChild),OleVariant(0)] := 1; hChild := InsertItem(h,Null,'Task 3'); CellState[OleVariant(hChild),OleVariant(0)] := 1; ExpandItem[h] := True; end; EndUpdate(); end |
1023 |
How can I bold the checked items
// CellStateChanged event - Fired after cell's state has been changed. procedure TForm1.Grid1CellStateChanged(ASender: TObject; Item : HITEM;ColIndex : Integer); begin with Grid1 do begin Refresh(); end end; with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('Tasks')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with ConditionalFormats.Add('%CS0 = 1',Null) do begin Bold := True; end; HeaderVisible := True; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'Task 1'); SelectItem[hChild] := True; hChild := InsertItem(h,Null,'Task 2'); CellState[OleVariant(hChild),OleVariant(0)] := 1; hChild := InsertItem(h,Null,'Task 3'); CellState[OleVariant(hChild),OleVariant(0)] := 1; ExpandItem[h] := True; end; EndUpdate(); end |
1022 |
How can I change the foreground color for checked items
// CellStateChanged event - Fired after cell's state has been changed. procedure TForm1.Grid1CellStateChanged(ASender: TObject; Item : HITEM;ColIndex : Integer); begin with Grid1 do begin Refresh(); end end; with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; SelBackMode := EXGRIDLib_TLB.exTransparent; with (IUnknown(Columns.Add('Tasks')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with ConditionalFormats.Add('%CS0 = 1',Null) do begin ForeColor := $8080ff; end; HeaderVisible := True; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'Task 1'); SelectItem[hChild] := True; hChild := InsertItem(h,Null,'Task 2'); CellState[OleVariant(hChild),OleVariant(0)] := 1; hChild := InsertItem(h,Null,'Task 3'); CellState[OleVariant(hChild),OleVariant(0)] := 1; ExpandItem[h] := True; end; EndUpdate(); end |
1021 |
How can I change the background color for checked items (solid color)
// CellStateChanged event - Fired after cell's state has been changed. procedure TForm1.Grid1CellStateChanged(ASender: TObject; Item : HITEM;ColIndex : Integer); begin with Grid1 do begin Refresh(); end end; with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; SelBackMode := EXGRIDLib_TLB.exTransparent; with (IUnknown(Columns.Add('Tasks')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with ConditionalFormats.Add('%CS0 = 1',Null) do begin BackColor := $8080ff; end; HeaderVisible := True; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'Task 1'); SelectItem[hChild] := True; hChild := InsertItem(h,Null,'Task 2'); CellState[OleVariant(hChild),OleVariant(0)] := 1; hChild := InsertItem(h,Null,'Task 3'); CellState[OleVariant(hChild),OleVariant(0)] := 1; ExpandItem[h] := True; end; EndUpdate(); end |
1020 |
How can I export the cell's state as well
with Grid1 do begin BeginUpdate(); with Columns do begin (IUnknown(Add('C1')) as EXGRIDLib_TLB.Column).Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); (IUnknown(Add('C2')) as EXGRIDLib_TLB.Column).FormatColumn := '1 index `A-Z`'; (IUnknown(Add('C3')) as EXGRIDLib_TLB.Column).FormatColumn := '100 index ``'; end; with Items do begin AddItem('Item 1'); CellState[OleVariant(AddItem('Item 2')),Null] := 1; CellState[OleVariant(AddItem('Item 3')),Null] := 1; end; EndUpdate(); OutputDebugString( 'Export CSV Items including Check-State:' ); BeginUpdate(); with (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column) do begin Position := 0; FormatColumn := '%CS0'; end; OutputDebugString( Export('',Null) ); Columns.Remove('Check'); EndUpdate(); end |
1019 |
Is it possible to customize the editor selection colour of the built in text editor, from standard blue to black
with Grid1 do begin BeginUpdate(); SelBackColor := RGB(0,0,0); SelForeColor := RGB(255,255,255); with (IUnknown(Columns.Add('Edit')) as EXGRIDLib_TLB.Column).Editor do begin EditType := EXGRIDLib_TLB.MaskType; Mask := ';;;rich'; end; with Items do begin AddItem(''); AddItem('Just a text'); AddItem(''); end; EndUpdate(); end |
1018 |
Is it possible to customize the editor selection colour of the built in dropdown editor, from standard blue to black
with Grid1 do begin BeginUpdate(); SelBackColor := RGB(0,0,0); SelForeColor := RGB(255,255,255); with (IUnknown(Columns.Add('DropDown')) as EXGRIDLib_TLB.Column).Editor do begin AddItem(1,'This is just the first item',Null); AddItem(2,'This is just the second item',Null); AddItem(3,'This is just the third item',Null); EditType := EXGRIDLib_TLB.DropDownType; Mask := ';;;rich'; end; with Items do begin AddItem(''); AddItem('Just a text'); AddItem(''); end; EndUpdate(); end |
1017 |
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed). procedure TForm1.Grid1BeforeExpandItem(ASender: TObject; Item : HITEM;var Cancel : OleVariant); begin with Grid1 do begin OutputDebugString( 'BeforeExpandItem' ); OutputDebugString( Item ); OutputDebugString( 'ColumnFromPoint' ); OutputDebugString( ColumnFromPoint[-1,-1] ); OutputDebugString( 'ColumnFromPoint return -1, if the user clicks the +/- glitch, else it returns the index of the column where the click occurs.' ); Items.InsertItem(Item,Null,'new child'); end end; with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; with Columns do begin (IUnknown(Add('Items')) as EXGRIDLib_TLB.Column).DisplayFilterButton := True; end; with Items do begin ItemHasChildren[InsertItem(Null,Null,'Group 1')] := True; ItemHasChildren[InsertItem(Null,Null,'Group 2')] := True; end; EndUpdate(); end |
1016 |
How do I change the drop down filter icon/button (black)
with Grid1 do begin BeginUpdate(); with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg' + 'mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd' + 'r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA'); end; Background[EXGRIDLib_TLB.exCursorHoverColumn] := $ffffffff; Background[EXGRIDLib_TLB.exHeaderFilterBarButton] := $1000000; Background[EXGRIDLib_TLB.exBackColorFilter] := $10000; Background[EXGRIDLib_TLB.exForeColorFilter] := $ffffff; Description[EXGRIDLib_TLB.exFilterBarExclude] := '<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>'; HeaderAppearance := EXGRIDLib_TLB.None2; BackColorHeader := RGB(0,0,0); ForeColorHeader := RGB(255,255,255); HeaderVisible := True; with (IUnknown(Columns.Add('Filter')) as EXGRIDLib_TLB.Column) do begin FilterList := Integer(EXGRIDLib_TLB.exShowExclude) Or Integer(EXGRIDLib_TLB.exShowCheckBox); DisplayFilterButton := True; AllowSort := False; AllowDragging := False; end; with Items do begin AddItem('One'); AddItem('Two'); AddItem('Three'); end; EndUpdate(); end |
1015 |
How do I change the drop down filter icon/button (white)
with Grid1 do begin BeginUpdate(); with VisualAppearance do begin Add(2,'gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ' + '0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN' + 'YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h' + 'hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb' + 'hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB' + 'MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI='); Add(1,'CP:2 -4 -4 2 4'); end; Background[EXGRIDLib_TLB.exHeaderFilterBarButton] := $1000000; Background[EXGRIDLib_TLB.exCursorHoverColumn] := BackColor; HeaderAppearance := EXGRIDLib_TLB.None2; HeaderHeight := 24; BackColorHeader := RGB(255,255,255); HeaderVisible := True; with (IUnknown(Columns.Add('Filter')) as EXGRIDLib_TLB.Column) do begin DisplayFilterButton := True; AllowSort := False; AllowDragging := False; end; EndUpdate(); end |
1014 |
How can I draw a solid frame around the the focusing item
with Grid1 do begin BeginUpdate(); SingleSel := False; DefaultItemHeight := 20; with VisualAppearance do begin RenderType := -1; Add(1,'gBFLBCJwBAEHhEJAAEhABOkGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeDYMiSNoYDJCM4wHI' + 'URRJFCUJSGWQpTgSIgyT5HFIxXKoASbJabZLhWS6EpWOotTbIQQRYCkEyfKKfZyGURZQqOKA1DBZErWTJESRFJqLazgO4LAhyQYrVgAErzVKVCRNOqbJzADApdpGQJTU' + 'LDNTQHRFIyhOSnIRrWbMAhid6JUZiVT4dBOIYhSYANAqCwLFqrDJmWrpV5WZjlZ47V6BdAyXJsIrmFJEXaOGhyDDlGybSDZYryfZhUziUw4XjbWwZDqPF6DKTTdSGLRE' + 'E8WZVlURZvDaep3C+AY8kAYRgGCCBJECUhjDoHROEYWgoAGTQ1CEEx9lGMY0CQUYSnuZQDBGBYFlOH5+H+igGAKAJgEgFgGgGVgDn4CoCmCSA2A6A5hAgDgQgSYRIE4E' + 'oFGGCBiBeBhhkgPgbgcYgICoH4IGGWIOCSBhiGiHgVgoYooFoAoLGIWI+DCCgjCiTgrgII4ImYOoOmOSJ2AYOpWlQDQBICA='); end; ShowFocusRect := True; Background[EXGRIDLib_TLB.exShowFocusRect] := $1000000; LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('P1')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with Items do begin h := AddItem('Root'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; end; EndUpdate(); end |
1013 |
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 2)
with Grid1 do begin BeginUpdate(); SingleSel := False; DefaultItemHeight := 20; ShowFocusRect := True; with VisualAppearance do begin RenderType := -1; Add(2,'gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeCRUgyJI3RgMUIzVA' + 'cRRFEiUJQlIZZCjOAw0SIMU7xZRcNxsACnaZnCR4NiuRYiUhOcqzRIQIQ4CiEahqOgJbDUJYwWZKAyjBY8XTZFCSJCpeJ6egOc5jRxQUp1WAEXx3GSsJKvCZ5cADBY+V' + 'LQNS0JBtMSTKSLaiuWoIJqCPaDRheWKQJh1NSnLqEcjyYANDxDCZlWzAYxWTZ2Uz7N7PbB0HY4DyPGKZYrfESVRbQcZNS6nNigPI9XhfGq6VjRe63ZaOaYpWrnOJqTRW' + 'jOKYujWdZ2BGO5lkuBAAkmcQkDmDBEAwEQJCgGhMGcQ4pkiSxGAAOYmkQIhvkYNg2gSCgyj+LI4GIMIwF2XQoAYAoAmASAWAaAZgggJgKFiT54DYDoDmECBGBKBJgGgT' + 'gWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChiigYgsgsYYYBYMIKCMKJOCuDRjGiOgLg6Y5InYPoPmQCAkmsXAQDQBCAg='); Add(3,'CP:2 -3 0 3 0'); end; Background[EXGRIDLib_TLB.exShowFocusRect] := $3010101; LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('P1')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with Items do begin h := AddItem('Root'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; end; EndUpdate(); end |
1012 |
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 1)
with Grid1 do begin BeginUpdate(); SingleSel := False; ShowFocusRect := True; with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABHoDg6AADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVA' + 'ceAAGaUZrjSgobjmOYhAJCLqhYIgASXJqLaBlOCaAieSc+QhjQJIJoeCZXU5TFg1BTsOhqEqcRiseaRVDCaIJWzbdYWLDdNQHHKYLjnWorbpSJZ5XjNEySDQkMS9PrEJ' + '7vST8FBCdAABLJUB2BR9RwxRafKpnWwJDpmCaOQLXEB5DK1PyVMTKYrtGy7GrIAJxWxbV4UHh+QABOzIMAvHKJMwvHYcUZne5XVLeF41HbONogPaJZyIAK2cLROq6Xo7' + 'GEcJZEcLASB4DwvgWUZlE6AQQhKAYkkYdA6hyDIwHgSoqFwQgmnsYxjGgSIiBOTpSEiAwRgOJI7j4JAHA6U5wm0MpPlOBIjD8TZiGYCICiCGAuA6AxhAgMgSgOYQ4DYB' + 'g/g6cw1n+ABOmMMJ9DmCwjnScw4RsVJngkYh4hoKIKmKKI2CmC5ikiQgqgiT5jhyMw8g4QwIn0OIKEiCJhD8DwTGyfA7k0WQOEWEQkGkJhIhKZB5DYSoTiSCQEn4PQOC' + 'OXJcCeIJjliaIQk0aRyF4O5llmAhfhgZhJg4ZoYiaAxYn4PZOhOZJaCUZYTiYQw1mcOZUm+HQnHmWh4h6Z4pnYeYfk0eYsmqG4nAgNJ2DqD5DkCWoiGiOgqgyI5omoRo' + 'NiSaQKFKEojCaM4ugSFhOjkAJcieKgDkaH4oioGoOiaKRqgqEoqDddwyhuAxPgOMJ8DyDZqk6NYtCsapmjiLprHqdo6i+K5K1oPhOlqPgKD4DpjnII4yiOewuk6MxtAs' + 'MpSjObQ7EaT4wk6ewYn0PgPAiCJkjeLgDk6X44i4G4OmaORuguEpqDkLAzkaWg+E8GIUmaPIvEOVpzj2Lxbl6eo+G+S5in4OYPmOaJyjuTwjnYWpBg6DAjAqQZwkwJwN' + 'kKcJsEcEJCDBEpaD6Dw8BiapGjGSgfB2RpxmyBwgkicZ8haBw/g+M5TBcPQPlOXJskscp8jsMJMnMLJXDGTZzEyYw2kwMoDlcFw9i2M4/EGUJPg0CxFlENBtCcSJSnQf' + 'Q0m+SgPHsaJ7lALZLG6XZVHWDRfFqVY1k0ZxdladYTnifJUGaeAWAeMnSGcGWgBObJ3lWbwdjKW5cHcTZPHaLkN4GxXDlFqFsA4uRbBOGAFAEIzAsDEFOBkfYqR4D6AO' + 'BEYo8QuBvAmMceInBDgcD0JwOIqQyJ1DMAwG4IANDnHSMoK4QhOgMBGNEIQvQWAdGenETIswGiddsAAQAgCAgA=='); Add(2,'gBFLBCJwBAEHhEJAAEhABeEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADDFIBQSLAYROGSDJBGODJDjWGIeQLOEhQHI' + 'MRxPE6UYLhWYpBDKPYcUbGc7yBBMVwGf59XzACoKSheQIVSDQkw6Fo6NYhAxHALyNRkBy8f60KjtGpodDUJYvW5JYyjBZ8EznOqbJBkeJ7BgOe5NQjaD72VgdWQJFSWJ' + 'ajWYYJDOJY2ZAAE5TVINEwxJbDaylChIdxaF6WAzZEBhBYoATPNLBMrhWqKDw2XaQWBCOgwHYeR5LU7BdRwbIrRq2eAAXbcVyXfDddZlBK+QA0SK9lRVTKvJZmKgBWw1' + 'COSxmAAGw4kcNx1iKFBiCAfQsG8lJemucg7nsXpUHOOxrm+DI3jOH4XAOBx2nscw0j2HhPG4L5uGEVIECQCBCEUAYkGMHQHFGSBlGaAxkEgQgTGCVBsDYQhCgQJZrHKU' + 'ggGEShkFGNgIlsNpPnMHJHD+TADAIJIJiIWIeCqChikiIgmgiD5zHyXxgiACJKCuC4jHiZgtg6I4IlkCQwkwOIonMPJjEkFhGhGZBpA4KoMBCGJuEiE5lAkGg7hMY4JE' + 'YVoUCUNAOE6FZl0KWQACWOR2GKF5mBmChchkJRZhoXYaCKKYqGuDglEmNhuhWZpIiYc4dCcCRqGmHZlgm2YxAwSQKESHwkFkKgpiAIAIH4PIimOOg2DiChoiQJRRD+TZ' + 'DHCfwyAyCgyg+JpiioYJ/DgDgIlECQ6lwRAEICA='); Add(3,'CP:2 -2 0 2 0'); end; SelBackColor := $1000000; SelForeColor := RGB(0,0,0); Background[EXGRIDLib_TLB.exShowFocusRect] := $3ff0000; LinesAtRoot := EXGRIDLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('P1')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with Items do begin h := AddItem('Root'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; end; EndUpdate(); end |
1011 |
I have a column right-aligned. How can I display its check box aligned to the right, as it appears to the left of the cell's caption
with Grid1 do begin BeginUpdate(); ColumnAutoResize := True; DrawGridLines := EXGRIDLib_TLB.exVLines; with Columns do begin with (IUnknown(Add('Left')) as EXGRIDLib_TLB.Column) do begin AllowSizing := False; Width := 96; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); FormatColumn := '0 pos `A-Z`'; end; with (IUnknown(Add('Center')) as EXGRIDLib_TLB.Column) do begin HeaderAlignment := EXGRIDLib_TLB.CenterAlignment; Alignment := HeaderAlignment; AllowSizing := False; Width := 96; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); FormatColumn := '0 pos `A-Z`'; end; with (IUnknown(Add('Right')) as EXGRIDLib_TLB.Column) do begin HeaderAlignment := EXGRIDLib_TLB.RightAlignment; Alignment := HeaderAlignment; AllowSizing := False; Width := 96; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); FormatColumn := '0 pos `A-Z`'; Def[EXGRIDLib_TLB.exCellDrawPartsOrder] := 'caption,check,icon,icons,picture'; end; Add(''); end; with Items do begin CellState[OleVariant(AddItem('Item 1')),OleVariant(3)] := 1; CellState[OleVariant(AddItem('Item 2')),OleVariant(2)] := 1; CellState[OleVariant(AddItem('Item 3')),OleVariant(1)] := 1; end; EndUpdate(); end |
1010 |
Can I display the column's multiple-lines caption vertically oriented (method 2)
with Grid1 do begin BeginUpdate(); HeaderHeight := 48; ColumnAutoResize := True; with Columns do begin Add('And others ...'); with (IUnknown(Add('')) as EXGRIDLib_TLB.Column) do begin HTMLCaption := 'First Column'; HeaderVertical := True; Width := 36; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Def[EXGRIDLib_TLB.exCellPaddingLeft] := OleVariant(8); Position := 0; end; with (IUnknown(Add('')) as EXGRIDLib_TLB.Column) do begin HTMLCaption := '<c><b>Second Column'; HeaderVertical := True; Width := 36; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Def[EXGRIDLib_TLB.exCellPaddingLeft] := OleVariant(8); Position := 1; end; with (IUnknown(Add('')) as EXGRIDLib_TLB.Column) do begin HTMLCaption := '<r>Third Column'; HeaderVertical := True; Width := 36; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Def[EXGRIDLib_TLB.exCellPaddingLeft] := OleVariant(8); Position := 2; end; end; with Items do begin CellState[OleVariant(AddItem('Item 1')),OleVariant(3)] := 1; CellState[OleVariant(AddItem('Item 2')),OleVariant(2)] := 1; CellState[OleVariant(AddItem('Item 3')),OleVariant(1)] := 1; end; EndUpdate(); end |
1009 |
Can I display the column's multiple-lines caption vertically oriented (method 1)
with Grid1 do begin BeginUpdate(); HeaderHeight := 48; HeaderSingleLine := False; ColumnAutoResize := True; with Columns do begin Add('And others ...'); with (IUnknown(Add('First Column')) as EXGRIDLib_TLB.Column) do begin HeaderVertical := True; Width := 36; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Def[EXGRIDLib_TLB.exCellPaddingLeft] := OleVariant(8); Position := 0; end; with (IUnknown(Add('Second Column')) as EXGRIDLib_TLB.Column) do begin HeaderBold := True; HeaderVertical := True; Width := 36; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Def[EXGRIDLib_TLB.exCellPaddingLeft] := OleVariant(8); Position := 1; end; with (IUnknown(Add('Third Column')) as EXGRIDLib_TLB.Column) do begin HeaderVertical := True; Width := 36; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Def[EXGRIDLib_TLB.exCellPaddingLeft] := OleVariant(8); Position := 2; end; end; with Items do begin CellState[OleVariant(AddItem('Item 1')),OleVariant(3)] := 1; CellState[OleVariant(AddItem('Item 2')),OleVariant(2)] := 1; CellState[OleVariant(AddItem('Item 3')),OleVariant(1)] := 1; end; EndUpdate(); end |
1008 |
Can I display the column's caption vertically oriented (method 2)
with Grid1 do begin BeginUpdate(); HeaderHeight := 48; ColumnAutoResize := True; with Columns do begin Add('And others ...'); with (IUnknown(Add('')) as EXGRIDLib_TLB.Column) do begin HTMLCaption := 'First'; HeaderVertical := True; Width := 20; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Position := 0; end; with (IUnknown(Add('')) as EXGRIDLib_TLB.Column) do begin HTMLCaption := '<c><b>Second'; HeaderVertical := True; Width := 20; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Position := 1; end; with (IUnknown(Add('')) as EXGRIDLib_TLB.Column) do begin HTMLCaption := '<r>Third'; HeaderVertical := True; Width := 20; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Position := 2; end; end; with Items do begin CellState[OleVariant(AddItem('Item 1')),OleVariant(3)] := 1; CellState[OleVariant(AddItem('Item 2')),OleVariant(2)] := 1; CellState[OleVariant(AddItem('Item 3')),OleVariant(1)] := 1; end; EndUpdate(); end |
1007 |
Can I display the column's caption vertically oriented (method 1)
with Grid1 do begin BeginUpdate(); HeaderHeight := 48; ColumnAutoResize := True; with Columns do begin Add('And others ...'); with (IUnknown(Add('First')) as EXGRIDLib_TLB.Column) do begin HeaderVertical := True; Width := 20; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Position := 0; end; with (IUnknown(Add('Second')) as EXGRIDLib_TLB.Column) do begin HeaderBold := True; HeaderVertical := True; Width := 20; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Position := 1; end; with (IUnknown(Add('Third')) as EXGRIDLib_TLB.Column) do begin HeaderVertical := True; Width := 20; AllowSizing := False; Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); Position := 2; end; end; with Items do begin CellState[OleVariant(AddItem('Item 1')),OleVariant(3)] := 1; CellState[OleVariant(AddItem('Item 2')),OleVariant(2)] := 1; CellState[OleVariant(AddItem('Item 3')),OleVariant(1)] := 1; end; EndUpdate(); end |
1006 |
How do I automatically bold items being checked
// CellStateChanged event - Fired after cell's state has been changed. procedure TForm1.Grid1CellStateChanged(ASender: TObject; Item : HITEM;ColIndex : Integer); begin end; with Grid1 do begin BeginUpdate(); SelBackMode := EXGRIDLib_TLB.exTransparent; with ConditionalFormats.Add('%CS0','check') do begin Bold := True; end; (IUnknown(Columns.Add('Items')) as EXGRIDLib_TLB.Column).Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); (IUnknown(Columns.Add(Grid1.ConditionalFormats.Item['check'].Expression)) as EXGRIDLib_TLB.Column).FormatColumn := Grid1.ConditionalFormats.Item['check'].Expression; with Items do begin AddItem('Item 1'); CellState[OleVariant(AddItem('Item 2')),OleVariant(0)] := 1; AddItem('Item 3'); end; EndUpdate(); end |
1005 |
How can I use the CellState with ConditionalFormat/ComputedField/FormatColumn
// CellStateChanged event - Fired after cell's state has been changed. procedure TForm1.Grid1CellStateChanged(ASender: TObject; Item : HITEM;ColIndex : Integer); begin end; with Grid1 do begin BeginUpdate(); LinesAtRoot := EXGRIDLib_TLB.exGroupLinesInsideLeaf; SelBackMode := EXGRIDLib_TLB.exTransparent; with (IUnknown(Columns.Add('Items')) as EXGRIDLib_TLB.Column) do begin Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with (IUnknown(Columns.Add('Format')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '%CS0'; Caption := FormatColumn; Def[EXGRIDLib_TLB.exCellForeColor] := OleVariant(8421504); Def[EXGRIDLib_TLB.exHeaderForeColor] := Def[EXGRIDLib_TLB.exCellForeColor]; end; with Items do begin h := AddItem('Root'); InsertItem(h,Null,'Item 1'); CellState[OleVariant(InsertItem(h,Null,'Item 2')),OleVariant(0)] := 1; CellState[OleVariant(InsertItem(h,Null,'Item 3')),OleVariant(0)] := 1; ExpandItem[h] := True; end; EndUpdate(); end |
1004 |
How can I use the CellData with ConditionalFormat/ComputedField/FormatColumn
with Grid1 do begin BeginUpdate(); Columns.Add('Items'); with (IUnknown(Columns.Add('Format')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '%CD0'; Caption := FormatColumn; Def[EXGRIDLib_TLB.exCellForeColor] := OleVariant(8421504); Def[EXGRIDLib_TLB.exHeaderForeColor] := Def[EXGRIDLib_TLB.exCellForeColor]; end; with Items do begin CellData[OleVariant(AddItem('Item 1')),OleVariant(0)] := OleVariant(1234); CellData[OleVariant(AddItem('Item 2')),OleVariant(0)] := 'this is just an user data'; CellData[OleVariant(AddItem('Item 3')),OleVariant(0)] := '1/1/2001'; end; EndUpdate(); end |
1003 |
How can I use the CellValue/CellCaption with ConditionalFormat/ComputedField/FormatColumn
with Grid1 do begin BeginUpdate(); with (IUnknown(Columns.Add('Items')) as EXGRIDLib_TLB.Column) do begin with Editor do begin EditType := EXGRIDLib_TLB.DropDownListType; AddItem(1,'Item 1',Null); AddItem(2,'Item 2',Null); AddItem(3,'Item 3',Null); end; end; with (IUnknown(Columns.Add('Format')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '%0'; Caption := FormatColumn; Def[EXGRIDLib_TLB.exCellForeColor] := OleVariant(8421504); Def[EXGRIDLib_TLB.exHeaderForeColor] := Def[EXGRIDLib_TLB.exCellForeColor]; AllowSizing := False; end; with (IUnknown(Columns.Add('Format')) as EXGRIDLib_TLB.Column) do begin FormatColumn := '%C0'; Caption := FormatColumn; Def[EXGRIDLib_TLB.exCellForeColor] := OleVariant(8421504); Def[EXGRIDLib_TLB.exHeaderForeColor] := Def[EXGRIDLib_TLB.exCellForeColor]; AllowSizing := False; end; with Items do begin AddItem(OleVariant(1)); CellValue[OleVariant(AddItem(OleVariant(0))),OleVariant(0)] := OleVariant(2); AddItem(OleVariant(2)); end; EndUpdate(); end |
1002 |
Can I display the radio-button with a solid color
with Grid1 do begin BeginUpdate(); RadioImage[False] := 32699122; RadioImage[True] := 16777216; (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column).Def[EXGRIDLib_TLB.exCellHasRadioButton] := OleVariant(True); with Items do begin AddItem('Radio 1'); CellState[OleVariant(AddItem('Radio 2')),OleVariant(0)] := 1; AddItem('Radio 1'); end; EndUpdate(); end |
1001 |
Can I display the check-box with a solid color
with Grid1 do begin BeginUpdate(); CheckImage[EXGRIDLib_TLB.Unchecked] := 32699122; CheckImage[EXGRIDLib_TLB.Checked] := 16777216; (IUnknown(Columns.Add('Check')) as EXGRIDLib_TLB.Column).Def[EXGRIDLib_TLB.exCellHasCheckBox] := OleVariant(True); with Items do begin AddItem('Check 1'); CellState[OleVariant(AddItem('Check 2')),OleVariant(0)] := 1; AddItem('Check 3'); end; EndUpdate(); end |